//! # 消息转换器模块
//! 
//! 提供各种消息转换器的实现

use async_trait::async_trait;
use rustcloud_bus::prelude::Message;
use crate::error::TransformResult;

/// 消息转换器trait
#[async_trait]
pub trait MessageTransformer<I, O>: Send + Sync {
    async fn transform(&self, input: I) -> TransformResult<O>;
}

/// JSON转换器
#[derive(Debug)]
pub struct JsonTransformer;

#[async_trait]
impl MessageTransformer<Message, Message> for JsonTransformer {
    async fn transform(&self, input: Message) -> TransformResult<Message> {
        // 占位实现
        Ok(input)
    }
}